#include "Shader.h"

#include "Core/GlobalContext.h"

#include "Platform/OpenGL/OpenGLShader.h"

namespace SE
{
	Ref<Shader> Shader::Create(const String& filePath)
	{
		switch (RenderAPI::GetAPIType())
		{
			default: SE_ASSERT(false, "Unkown render api type!"); return nullptr;
			case RenderAPIType::OpenGL: return CreateRef<OpenGLShader>(filePath);
		}
	}

	Ref<Shader> Shader::Create(const String& name, const String& vertSrc, const String& fragSrc)
	{
		switch (RenderAPI::GetAPIType())
		{
			default: SE_ASSERT(false, "Unkown render api type!"); return nullptr;
			case RenderAPIType::OpenGL: return CreateRef<OpenGLShader>(name, vertSrc, fragSrc);
		}
	}
} // !namespace SE